/**
 * 过滤器
 */

/**
 * 过滤空字符串和null  无值则返回'-'
 * @param value 要过滤的值
 * @returns 过滤后的结果
 * @example
 */

export function filterEmpty(val: any): any {
  const formattedValue = computed(() => {
    const value = val
    if (value === 0 || value === '0') return 0
    return value || '-'
  })
  return formattedValue.value
}

/**
 * 换算单位(汉字单位-四舍五入)
 * @param { number } num 需转换汉字的数值
 * @param { number } precision 数值精度  默认：2
 * @return { number | string } 换算后的值
 * @example
 * numConverter( 1111555 )
 */
export const filterUnit = (num: number = 0, precision: number = 2) => {
  // 防止传入其他不可转换类型
  let newNum = filterEmpty(num)
  if (isNaN(Number(newNum))) return newNum
  if (Math.abs(newNum) >= 100000000) {
    const n: any = newNum / 100000000
    return n.toFixed(precision) * 1 + '亿'
  } else if (Math.abs(newNum) >= 10000) {
    const n: any = newNum / 10000
    return n.toFixed(precision) * 1 + '万'
  } else {
    const n: any = newNum
    return n.toFixed(precision) * 1
  }
}
